/*
	ACDM_keyboard.h

	contains headers for keyboard control functions

	Author: Aidan Goddard 9/11/13
*/

#ifndef ACDM_KEYBOARD_H_INCLUDED
#define ACDM_KEYBOARD_H_INCLUDED

#include"../../klib/headers/ktypes.h"
#include"../../kernel/headers/types.h"

// formatted input functions
char KeyboardGetASCIIChar(int buffer);		// blocks until ascii char is available. will return 0 if other thread is already waiting
void KeyboardPutASCIIChar(int buffer, char c);
void KeyboardClearASCIIChar(int buffer);
uint64_t UpdateKeymapFromPS2();
char GetASCIIFromKeyState();
void GetKeyState(uint8_t *destination_key_state);

#endif
